package com.library.books.mapper;

import java.util.List;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.library.books.domain.Print;
import com.library.books.domain.vo.print.PrintRequireInfoData;
import com.library.common.enums.PrintStatus;

/**
 * 打印Mapper接口
 *
 * @author hb
 * @date 2024-12-09
 */
public interface PrintMapper extends BaseMapper<Print>
{
    /**
     * 查询打印列表
     *
     * @param print 打印
     * @return 打印集合
     */
    List<Print> selectPrintList(Print print);

    /**
     * 查询书籍拼接书籍副本拼接书籍规则拼接书籍书架拼接打印拼接打印记录列表
     *  - 打印信息列表（查询打印所需信息列表）
     *  - 书籍信息（必须返回）
     *  - 书籍副本（必须返回）
     *  - 书籍规则（）
     *  - 书籍存放书架（）
     *  - 书籍副本打印（部分返回）
     *  - 书籍副本打印记录（部分返回）
     * @param join 参数
     * @return 打印所需数据列表
     */
    List<PrintRequireInfoData> selectPrintRequireInfoDataList(PrintRequireInfoData join);

    /** 未打印数量
     * @param status 打印状态枚举
     * @return 数量
     */
    Long selectPrintCount(String status);
}
